Aspects of the disclosure generally relate to the field of networked storage systems, and, more particularly, to reconciling data that is to be replicated across a networked storage system.
A networked storage system is a processing system that is used to store and retrieve data on behalf of one or more hosts on a network. One or more storage controllers in the networked storage system operate on behalf of one or more hosts to store and manage data in a set of mass storage devices, such as magnetic or optical storage-based disks or tapes. Some storage controllers are designed to service file-level requests from hosts, as is commonly the case with file servers used in network attached storage (NAS) environments. Other storage controllers are designed to service extent-level requests from hosts, as with storage controllers used in a storage area network (SAN) environment. Still other storage controllers are capable of servicing both file-level requests and extent-level requests, as is the case with certain storage controllers made by NetApp, Inc. of Santa Clara, Calif.
A networked storage system can be configured to provide high availability and disaster recovery capabilities. In such configurations, two or more storage controllers, typically located at different sites, are used to replicate data. Data received from a host by a first controller can be written to storage devices local to the first storage controller. In addition, the first storage controller can replicate the data on a second storage controller by forwarding the data to a second storage controller. The second storage controller then stores a copy of the data on storage devices local to the second controller. In the event of a failure or other problem with storage attached to the first controller, the replicated data can be retrieved from storage local to the second controller.